home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / DFQBX31.ZIP;1 / DFRAMEX.HIS < prev    next >
Encoding:
Text File  |  1993-12-10  |  36.3 KB  |  822 lines

  1.  
  2.                    HISTORY FILE FOR DOORFRAMEX (BASCOM 7.X)
  3.                    ========================================
  4.  
  5.   DOORFRAME is now supported by Richard Paquette and Chuck Valecek.
  6.  
  7.   Richard Paquette at: The Livewire BBS 
  8.                        Public Nodes (2) call > 609-235-5297 HST (Ring Down)
  9.                        Private Nodes Not published until registered
  10.  
  11.   Chuck Valecek at   : Suburban Software BBS 
  12.                        Public Nodes (2) call > 708-636-6694 
  13.                                              > 708-636-6697
  14.                        Private Nodes Not Published until registered
  15.  
  16. Version 3.1
  17. -----------
  18. (12/10/93)
  19.  
  20.   With this version you MUST overwrite the dframex.inc file.. it WILL NOT
  21.   work properly without this INC file overwritten.. YOU BEEN WARNED!
  22.  
  23.   Changed most of the integer varibales to long integers, hopefully
  24.   this will stop some of those overflow problems using DOOR.SYS.
  25.   Added another routine called IN.KEY. This routine emulates the BASIC Inkey
  26.   command. You create a DO loop, call IN.KEY and watch the RESPONSE$ variable
  27.   for something other than a NULL.
  28.  
  29. Version 3.0
  30. -----------
  31. (07-11-93)
  32.  This was the last version of DOORFRAME to be compiled by Ted Freeman.
  33.                     ->  He passed away in July 1993. <-
  34.  
  35.   Recompiled with the new QBSerial 3.10. There were a few bug fixes in this
  36.  release but the main one was the fix for clearing the input buffer. Seems
  37.  it didn't work before when in Fossil mode!
  38.  
  39. (06-28-93)
  40.   Well, looks like DoorFrame has finally grown to big for it's britches!
  41.  Wondered how long it would take with all the new stuff I've been adding.
  42.  Have had reports of String Space Corrupt errors which means it's time to
  43.  trim it down a bit. Consequently I had to decide what to discard. It was
  44.  a hard decision but I decided to drop support for WWIV's CHAIN.TXT file.
  45.  This will probably upset a few people but I tried to pick something that
  46.  would affect the least amount of systems.
  47.  Again, DOORFRAME NO LONGER SUPPORTS WWIV AND CHAIN.TXT.
  48.  
  49. (06-25-93)
  50.   Changed the way ENTER operates. Previously, it would accept any keystroke
  51.  and go on it's merry way. It now must actually receive an Enter key. This
  52.  change was made mainly for PCBoard/M. Although DoorFrame works flawlessly
  53.  with the vast majority of the systems running the M version, I have had a
  54.  couple of reports that on a few systems they are still getting 4 or 5
  55.  random characters at the start of the door. By using the ENTER subroutine
  56.  at the bottom of your opening screen, it should catch any extraneous
  57.  characters that should happen to pop up at the beginning (up to 80).
  58.  
  59.   Added another variable (like we NEED another one!). Check4RIP% lets you
  60.  the programmer decide if you want to check for RIPscrip compatibility.
  61.  Obviously if your door doesn't send RIPscrip codes, you could care less
  62.  if the remote is RIP compatible or not. The default for Check4RIP% is 0
  63.  which does not check. If you do want to check for RIPscrip, populate the
  64.  variable with a non-zero value. You must assign this variable before calling
  65.  Detect.Ansi.
  66.  
  67. Version 2.9
  68. -----------
  69. (06-17-93)  
  70.   DoorFrame will now recognize RIPscrip! There are two new variables
  71.  available, Rip% and Rip$. Rip% will be 0 if RIPscrip was not detected and
  72.  1 if it was. Rip$ will contain the RIPscrip version number in the format
  73.  RIPSCRIPxxyyzz where xx = major version number, yy = minor version number
  74.  and zz = revision code. For example if the version number is v1.52.00 
  75.  Rip$ would contain RIPSCRIP015200.
  76.   The Graphics% variable is not adjusted in response to the presence or 
  77.  absence of RIPscrip.
  78.  
  79. Version 2.8
  80. -----------
  81. (06-13-93)
  82.   Finally got this sucker to work with the PCBoard/M version! Although I
  83.  have no way of testing, it should also work with the Wildcat! IM software.
  84.  Maybe some of you Wildcatters can shoot me some feedback on whether it
  85.  does or not.
  86.   There is a trade-off involved (naturally!).  I still can't figure out
  87.  where the *'s are coming from so the only solution I could come up with was
  88.  to ignore any *'s. So if you have any In.Put statements that require an *
  89.  as a response, you will have to change it. This only applies when the /FD
  90.  (fossil driver) parameter is being used. When no fossil is being used, the
  91.  * is accepted like always.
  92.  
  93. Version 2.7
  94. -----------
  95. (04-21-93)
  96.   Added the RIP color switch for Wildcat! systems. Color is now displayed if
  97.  either GR or RIP is detected in the Wildcat! DOOR.SYS file.
  98.  
  99. (04-20-93)
  100.   When adding the addtional colors for the shadow in the Box.It routine, I
  101.  neglected to allow for Black as a color! Therefore, 0 now indicates a Black
  102.  shadow and -1 indicates no shadow is to be used.
  103.  
  104. (04-18-93)
  105.   Added the Cipher routines from the PBClone library. These two routines
  106.   (Cipher and CipherP) allow simple text encryption/decryption with password
  107.   protection. Check the PBC-SUBS.DOC file for instructions on their use.
  108.  
  109. (04-16-93)
  110.   Added the ClearBuffer routine. This routine allows you to clear either
  111.  the keyboard buffer, the communications input buffer, or both. Parameters 
  112.  are: 0 = Clear both, 1 = Clear comm. input only, 2 = Clear keyboard only.
  113.  
  114. (04-13-93)
  115.   Added another parameter to the SendAnsi routine. The third parameter is
  116.  Inter% and indicates whether or not to disable the ability to interrupt
  117.  the ANSI file with the spacebar as it is displaying. 0 = Don't disable, 
  118.  1 = Disable. The default is 0.
  119.  
  120. (03-29-93)
  121.   Added support for PCBoard v15.0 Alias name. I added this because the
  122.  ALIAS$ variable was already in DoorFrame. I will not be adding the rest of
  123.  the new stuff from v15.0 as that would needlessly inflate the size of the
  124.  library to support only one system. (so don't ask!)
  125.  
  126. Version 2.6
  127. -----------
  128. (03-25-93)
  129.   Well my tweaking of the DETECT.ANSI routine didn't work quite the way it
  130.  was intended to! Consequently it is back to the way it was before.
  131.  
  132. (03-24-93)
  133.   When using the Box.It routine, you may now specify a background color to
  134.  be used for the Shadow% parameter. 0 = No Shadow, 1 - 7 = Background Color
  135.  for the Shadow.
  136.  
  137. (03-20-93)
  138.   Fixed a problem with clearing the screen on the local display when in 
  139.  ASCII only mode.
  140.  
  141. (03-14-93)
  142.   Tweaked the DETECT.ANSI routine a bit. Hopefully it will do away with
  143.  those non-ANSI messages when ANSI is actually there!
  144.  
  145. Version 2.5
  146. -----------
  147. (02-25-93)
  148.   Well of course I had to screw something up when expanding the COM port
  149.  range! This only affected the DORINFOx.DEF systems but any COM port above
  150.  one got changed back to 1 which would usually result in a carrier lost
  151.  message.
  152.  
  153. (02-09-93)
  154.   Finally got around to expanding the COM port range. DoorFrame now supports
  155.  COM 0 thru 15.
  156.  
  157. Version 2.4
  158. -----------
  159. (01-12-93)
  160.   Silly me! When checking for the fossil driver parameter I neglected to put
  161.  the / in there. So it was checking for FD instead of /FD. That means if your
  162.  .CFG filename contained those 2 letters (as in dFDdemo!), it would pick that
  163.  up as the fossil parameter. Corrected now.
  164.  
  165. (01-07-93)
  166.   That old problem with the time expired when the Display was toggled off
  167.  in PCBoard popped up again! Fixed one more time (gotta quit changing things).
  168.  
  169. (01-03-93)
  170.   Removed the CLRSCRN during the INTIALIZE process so now clearing the
  171.  screen is up to you at the beginning of the door.
  172.  
  173. (12-23-92)
  174.   Fixed a stupid error on my part in the SENDANSI routine. I was opening the
  175.  file as FIL but was closing FILE! So the open file handles would just stack
  176.  up everytime the routine was called.
  177.  
  178. (12-12-92)
  179.   Added a new routine called SendAnsi. This routine is for true ANSI files
  180.  only! It sends the entire file non-stop. Pressing the Spacebar aborts the
  181.  file send. See the .DOC file for an explanation of accepted parameters.
  182.  
  183. Version 2.3
  184. -----------
  185. (11-24-92)
  186.   Noticed that I had only allowed for a single digit when specifying a
  187.  non-standard IRQ. That has been changed to accept 2 digits.
  188.  
  189. (11-19-92)
  190.   DoorFrame will now recognize the %pcbnode% and %wcnodeid% environment
  191.  variables when reading the path to the system file (1st line of the .CFG).
  192.  Some examples:
  193.     PCBoard: If USERS.SYS is located in C:\PCB\NODE1 directory, 
  194.        %pcbdrive%%pcbdir%\NODE%pcbnode%\USERS.SYS
  195.     Wildcat!: USERINFO.DAT located in C:\WC\NODE3 directory,
  196.        C:\WC\NODE%wcnodeid%\USERINFO.DAT
  197.     or if you SET the %pcbdrive% and %pcbdir% variables via the batch,
  198.        %pcbdrive%%pcbdir%\NODE%wcnodeid%\USERINFO.DAT
  199.  
  200. (11-15-92)
  201.   Changed the code so that USERINFO.DAT is written automatically. Therefore
  202.  you no longer need to use the User.Info% variable. Also took the routine
  203.  out that writes DOOR.SYS when using USERINFO.DAT. Since WildCat! doesn't
  204.  read it back in, that was sorta useless. (Thanks Dennis!)
  205.  
  206. (11-01-92)
  207.   DoorFrame now includes support for FOSSIL drivers!!! This means your Doors
  208.  will work with most multi-port boards. To activate the Fossil driver 
  209.  support, just include /FD on the command line when running the Door. 
  210.  For example: MYDOOR MYDOOR.CFG /FD
  211.  If no Fossil driver is available, DoorFrame will display a message to that
  212.  effect and exit gracefully.
  213.  
  214. (10-24-92)
  215.   Some of you may have noticed a slow down in the Dis.Play command after the
  216.  color codes were added (~, `, @, ^, |, {, and }). Dis.Play now has an 
  217.  additional parameter (Codes%) that let's you specify whether or not you 
  218.  are using the color codes. If a particular Dis.Play statement doesn't use
  219.  the codes, place a 0 in the Codes% parameter and the routine that checks
  220.  for and strips those characters will be bypassed. Thus significantly
  221.  increasing the display speed.
  222.  
  223. (10-23-92)
  224.   Added 2 more parameters to the In.Put command. These new parameters allow
  225.  you to specify a different color if you populate the Text$ parameter. Refer
  226.  to the docs for a full explanation.
  227.  
  228. Version 2.2
  229. -----------
  230. (10-19-92)
  231.   Well, should have known I would screw something up! Sure enough I did on
  232.  the LastOn$ variable. In the USERS file, it is in the format YYMMDD and 
  233.  is converted to the MM-DD-YY format when read. I neglected to convert it
  234.  back when writing to the USERS file.
  235.  
  236. (10-18-92)
  237.   Would you believe ... all this time DoorFrame has been reading info from
  238.  the PCBoard USERS file but hasn't been writing it! Actually, this would 
  239.  only affect a few of the variables. Anyway, that oversight has been
  240.  corrected. (Thanks Peter!)
  241.  
  242. (10-10-92)
  243.   Had reports of conflicts when using non-standard IRQ's on Novell/Netware
  244.  systems. Seems Novell also uses the / character so something went screwy
  245.  somewhere. So I added the * (asterisk) which may be used instead of the /
  246.  in case of a conflict. In other words, /%IRQ% and *%IRQ% will both work
  247.  and are interchangeable.
  248.  
  249. (09-23-92)
  250.   Fixed a bug when restoring the screen after Chat or Drop to DOS. It would
  251.  generate an illegal function call whenever it hit a blinking character.
  252.  
  253. (09-22-92)  
  254.   You now have the option of taking control after a carrier loss in case you
  255.  need to do some clean-up before recycling back to the BBS. BE VERY CAREFUL
  256.  with this one! Check the Docs under Miscellaneous Notes for an explanation.
  257.  
  258. Version 2.1
  259. -----------
  260. (09-20-92)
  261.    Fixed a problem when using the new no-show option of In.Put. If you used
  262.   a Dis.Play statement with color codes immediately after that, it would
  263.   show the color codes rather than the color.
  264.  
  265. (09-14-92)
  266.   The In.Put command now features word-wrap ability! If you put, for example,
  267.  160 as the first parameter, it will wrap around at the nearest space when it
  268.  reaches column 80 on the screen. Backspacing also works over the word-wrap.
  269.  
  270.   DoorFrame will now handle the 30-something line DOOR.SYS file as well as 
  271.  the 52-line one.
  272.  
  273.   Corrected some errors in writing the SFDOORS.DAT file. Specifically the
  274.  COMPORT% and DAILY.BYTES.ALWD& variables.
  275.  
  276. (09-13-92)
  277.   Added 5 new parameters to the In.Put command. 
  278.       AutoCR% - Automatic Carriage Return. 0 = No, 1 = Yes
  279.       Text$   - Text to display (if any).
  280.       Xpos%   - X coordinate to print Text$
  281.       Ypos%   - Y coordinate to print Text$
  282.       Show%   - 0 = Don't display response, 1 = display response
  283.  For example:
  284.  
  285.     In.Put 5, 0, 11, 0, 0, "", 0, 0, 1
  286.  
  287.  would accept 5 characters but would not return until the user hits the
  288.  ENTER key. Conversely,
  289.  
  290.     In.Put 5, 0, 11, 0, 1, "Well? ", 20, 1, 1
  291.  
  292.  would accept 5 characters and automatically return from the routine. It will
  293.  also print 'Well? ' at location 20, 1 and the response would be displayed.
  294.  If you wanted a Hot Key and didn't want the response to show:
  295.  
  296.     In.Put 1, 0, 11, 0, 1, "Y/N ", 20, 1, 0
  297.  
  298.  would prompt for 'Y/N' but would not display the response. The variable
  299.  Response$ will still contain whatever was typed even though it didn't show
  300.  up on the screen.
  301.  
  302. (09-11-92)  
  303.   Finally installed the screen restore when coming back from Chat or a Drop
  304.  to Dos. Been wanting to do that for months now! It will now put the screen
  305.  back like it was including anything typed at an In.Put prompt. If the caller
  306.  had entered anything before the interruption, that is restored and he can
  307.  pick up right where he left off!
  308.  
  309. Version 2.0
  310. -----------
  311. (09-06-92)
  312.   Had a request to be able to turn off the Status lines at the bottom of the
  313.  screen so that has been installed. To blank out those 2 lines, set the
  314.  variable No.Status% = 1 and do a ClrScrn. Sorry but those 2 lines are still
  315.  not available for printing (that would mean changing half the routines in
  316.  DoorFrame!).
  317.  
  318. (09-05-92)
  319.   Fixed an intermittent problem with the cursor jumping to the top left of
  320.  the screen when backspacing.
  321.  
  322. (09-04-92)
  323.   Did some more code optimizing. The same door used below in v1.9 now compiles
  324.  to 106,610 for an additional reduction of 6K in the .EXE!
  325.  
  326.   You should also notice a tremendous increase in the display speed. Using
  327.  a test program that printed 18 lines and contained the color codes around
  328.  each word, it took 30.92 seconds for v1.9 to finish. Version 2.0 did it in
  329.  8.95 seconds. That's a speed increase of over 345%!
  330.  
  331.   Added 2 new routines to the library. ClrMol clears in the middle of a line
  332.  for the number of specified columns. ClrSol clears from the specified X, Y
  333.  coordinates to the start of that line.
  334.  
  335. (09-03-92)
  336.   Re-paged the docs to a maximum of 60 lines per page for laser printers.
  337.  
  338. Version 1.9
  339. -----------
  340. (08-27-92)
  341.   Did some more optimizing of the code so your .EXE files should be a bit
  342.  smaller than with v1.8.  One of my doors compiled to 114,288 with v1.8 and
  343.  112,754 with v1.9, so it knocked almost 2K off the final .EXE!
  344.  
  345.   Fixed a problem which, in certain instances, would generate a 'Time
  346.  Expired' message when the local display was toggled off (F9).
  347.  
  348. (08-24-92)
  349.   Added a bunch more routines from Hanlin's PBClone library. I'll leave you
  350.  the fun of discovering which ones. <G>
  351.  
  352.   Deleted the BIOSINKEY and KEYPRESS routines since they are local keyboard
  353.  only routines.
  354.  
  355. Version 1.8
  356. -----------
  357. (06-21-92)
  358.   Added support for TriBBS software. DoorFrame both reads and writes the
  359.  TRIBBS.SYS file.
  360.  
  361. (06-15-92)
  362.   Added a new Back.Space routine. Syntax is: Back.Space Row%, Col%, Num%
  363.  Give it the row, column, and number of backspaces, the cursor will be
  364.  positioned at the last backspace so if the Col% = 20 and Num% = 5, the
  365.  cursor is left at column 16 (columns 20, 19, 18, 17, and 16 are erased).
  366.  
  367. Version 1.7
  368. -----------
  369. (06-03-92)
  370.   Fixed an oversight dealing with the TimeAdjust% variable. The problem wasn't
  371.  with the variable itself but rather with the frequency of updating the Status
  372.  line (which was every 30 seconds). Now it will update after each Dis.Play
  373.  statement. So if you are adjusting the callers time right before leaving the
  374.  door, just Dis.Play a space or something immediately after using TimeAdjust%.
  375.  
  376. (05-24-92)
  377.   Added the 'Last New Files Date' variable for those systems using Wildcat!'s
  378.  USERINFO.DAT. The variable name is LastScan$
  379.  
  380. (05-20-92)
  381.   Finally added a feature that has been sorely needed. You may now run your
  382.  doors from the DOS command line. Syntax is MYDOOR LOCAL. DoorFrame will plug
  383.  in enough dummy variables to enable it to run without using a BBS file.
  384.  Since the .CFG file will not be opened when using LOCAL, you should bypass 
  385.  any access to the .CFG file. If you MUST read additional lines from the .CFG
  386.  then I would suggest not using the LOCAL option.
  387.  
  388. (05-12-92)
  389.   Fixed a bug in the In.Put routine. Seems that the ASCII (or extended) SHIFT
  390.  code for H, K, M, and P are the same as the scan codes for the arrows! So it
  391.  was interpreting those 4 letters as arrow codes instead of the correct letter
  392.  codes. The routine now checks the value of SysopKeys% to determine if it is
  393.  a letter or an arrow. If SysopKeys% = 0, it's a letter, if SysopKeys% = 1,
  394.  it's an arrow. This means you must only set SysopKeys% = 1 when you want to
  395.  use the arrow keys since those 4 letters will also be interpreted as arrow
  396.  keys. If you are expecting alphabetic input, you will get some strange
  397.  results!
  398.  
  399. (05-11-92)
  400.   Thought I had fixed it so no beeps were heard on the local but not so. It
  401.  is fixed now, fer sure, fer sure!
  402.  
  403. (05-09-92)
  404.   Learned what the Extra Time field was for in SFDOORS.DAT (thanks Chuck).
  405.  Now if you utilize the TimeAdjust% variable, the Extra Time field in 
  406.  SFDOORS.DAT will be adjusted up or down accordingly.
  407.  
  408.   Found out that Wildcat! looks for an Error Level of 1 when recycling so
  409.  DoorFrame now generates a DOS error level of 1 when running under Wildcat!
  410.  systems and error level 62 for all others (for now!).
  411.  
  412. (05-05-92)
  413.   DoorFrame will now generate a DOS error level of 62. I understand that
  414.  GAP systems can use this to correctly recycle the BBS whenever someone logs
  415.  off from inside a door. Need some feedback on other systems please. 
  416.  
  417.   Added a couple of needed variables that were omitted when writing the
  418.  PCBoard USERS.SYS file. The descrepancy would only show up when logging
  419.  off from within a door but the time used and last date on were not being
  420.  updated.
  421.  
  422. (05-02-92)
  423.   Think I finally came up with a workable solution to get rid of the TIMER
  424.  routines which drives a math coprocessor up the wall. The trade-off is that
  425.  the status line will only be updated whenever input is required from the
  426.  caller.
  427.  
  428. Version 1.6
  429. -----------
  430. (04-29-92)
  431.   Included with this version is the .BAS source for a door called DFDEMO. It
  432.  demonstrates some of the features of DoorFrame.  You may also want to use
  433.  it to pick up some tips on using some of the routines.  The EXINPUT.BAS and
  434.  DISPLAY.BAS files have been removed.
  435.  
  436. (04-27-92)
  437.    Took me a whole day's work, but I dood it!  You may now use the color
  438.  codes as often as you wish when Dis.Playing a line. In addition the colors
  439.  and blinking are each independent of each other, so you can blink one, some,
  440.  all, or none! The % turns on the blinking for each set of codes.
  441.  
  442.   Added a parameter to the ClrScrn routine. You may now clear the local and
  443.  remote screen in any background color you wish (0 - 7).
  444.  
  445.   Did a bit more optimizing of the code and even with the new stuff added,
  446.  was able to reduce the size of .LIB by almost 3K!   
  447.  
  448. (04-24-92)
  449.   In an effort to cut down on the number of variables we have to deal with
  450.  (and hopefully cut down on memory requirements), I have combined the various
  451.  system variables (Pcboard%, WildCat%, etc.) into one. System.File% will take
  452.  their place. The value of System.File% will tell you which BBS file is being
  453.  used according to the following values:
  454.      1 = PCBOARD.SYS            2 = USERS.SYS           3 = DOOR.SYS
  455.      4 = CALLINFO.BBS           5 = CHAIN.TXT           6 = DORINFOx.DEF
  456.      7 = SFDOORS.DAT            8 = USERINFO.DAT        9 = GTUSER.BBS
  457.  
  458.   Deleted the Num.Dl.Today% variable. Use DlToday& instead.
  459.  
  460. (04-23-92)
  461.   Have been receiving reports of an Error 6 (overflow) when using DoorFrame
  462.  doors with the latest version of Spitfire.  Have been trying to locate an
  463.  actual SFDOORS.DAT file. Finally one of my users uploaded one to me (thanks
  464.  Aldo!). Lo and behold in the Downloads Per Day field there was 54,730! 
  465.  So to stave off any more problems like this, I have changed the DlPerDay%,
  466.  DlToday%, Downloads%, and Uploads% from INTEGER to LONG INTEGER.
  467.  
  468.   Used that extra space from the ON KEY and added support for GT Power's
  469.  GTUSER.BBS file. The .CFG file for this one is a little different.  Since
  470.  the file doesn't provide the COM port or Node numbers, they must be added on
  471.  lines 5 and 6 of the .CFG file.
  472.  
  473. (04-22-92)
  474.   Been reading how the ON KEY statement adds a lot of overhead to QB programs
  475.  so have been researching how to get rid of them. Lo and behold, I found this
  476.  neat little routine to do just that!  So all the ON KEY (and the associated
  477.  KEY statements) are gone.  This change also knocked almost 2K off the size
  478.  of the library.
  479.  
  480. Version 1.5
  481. -----------
  482. (04-20-92)
  483.    Added the PCBoard Language extension parameter, LANGUAGE$, at the request
  484.  of one of our European users. (Thanks Peter!) This variable will contain the
  485.  extension of the language file, i.e.  .FRE for the French language. When
  486.  using the default language (whichever one that is), this variable will
  487.  contain 4 spaces.
  488.  
  489. (04-17-92)
  490.   Added two new parameters to the BOX.IT routine. HFG% and HBG% now let's
  491.  you specify the foreground and background colors when using a Title$ on
  492.  your boxes.  Also added a check to see if Title$ is longer than the box.
  493.  This would generate an Illegal Function error previously. Your Title$ must
  494.  be at least 6 characters less than the width of the box. If it is longer
  495.  than that, the routine simply ignores the Title$.
  496.  
  497. Version 1.4
  498. -----------
  499. (04-10-92)
  500.   Made some small changes in reading the PCBoard USERS file (nothing major).
  501.  Noticed that the callers first name variable was missing from DOOR.SYS,
  502.  USERINFO.DAT etc. so those have been added.
  503.  
  504. (04-04-92)
  505.   Fixed a small error in the SEND command when displaying an ASCII file.
  506.  Seems it was reading from one file number and looking for the end of 
  507.  another which would either not display all the file or generate an INPUT
  508.  PAST END error.
  509.  
  510. (03-21-92)
  511.   DoorFrame doors may now make use of the IRQ environment variable. For
  512.  example, instead of DOOR DOOR.CFG /5 you can use DOOR DOOR.CFG /%IRQ%
  513.  
  514. (03-19-92)
  515.   DoorFrame is now aware of the PCBoard environment variables %PCBDRIVE% and
  516.  %PCBDIR%. Although it is tranparent to you, the programmer, if it finds
  517.  those two variables on the first line of the .CFG file it will substitute
  518.  the correct drive and path.
  519.   Also fixed a small bug with the time remaining when using USERS.SYS. 
  520.  
  521. Version 1.3
  522. -----------
  523. (03-07-92)
  524.   Fixed a small problem with the high score bulletin. If the bulletin was in
  525.  other than the current directory, the path for the graphics bulletin got
  526.  screwed up.
  527.  
  528.   Added a new variable - Hi.Ascii% which allows you to accept ASCII values
  529.  from 128 to 255. This was added at the request of one of our European users
  530.  since some languages need to use those characters.  Hi.Ascii% = 1 will enable
  531.  this option. The default is zero (disabled).
  532.  
  533. Version 1.2
  534. -----------
  535. (02-23-92)
  536.   One more time on the SEND routine! I was checking the first few characters
  537.  of a file for the CHR$(27) and if found just assumed that the file was all
  538.  ANSI. Not so! Seems there are 'hand-made' files out there that have the
  539.  color codes at the beginning of a line but no where else. So...... redid it
  540.  one more time (hopefully the last!).
  541.  
  542. (02-21-92)
  543.   Optimized the code a bit and moved some routines from the main module to
  544.  the library.  Tested with just a two-line program and the size of the .EXE
  545.  went from 83,034 before optimizing to 72,782 after optimizing.  So that
  546.  should cut down on your file sizes a bit!
  547.  
  548. (02-17-92)
  549.   NOTE: The parameters for the SEND routine have changed with this version!
  550.  The new syntax is SEND FileName$, YN%, Clr%  where Clr% is 0 (home cursor,
  551.  do not clear screen) or 1 (yes, clear screen).
  552.  
  553. Version 1.1
  554. -----------
  555. (02-14-92)
  556.   Added a new routine, ClrEOL. This one will clear to the end of the line.
  557.  You can specify where to start clearing. Example:  ClrEOL 10, 10, 1
  558.  will do it's thing on row 10 and clear from column 10 to the end of the line
  559.  and color it blue. The parameters are Xpos, Ypos, Color. Enjoy!
  560.   Fixed a stupid mistake in the SEND routine. I open CONS: for printing to
  561.  the local screen and misspelled it CON! Funny thing is, it worked except 
  562.  when accessing across a network!
  563.   Added GetDView which returns the version of DESQview loaded or zeroes if
  564.  DESQview is not loaded.
  565.  
  566. (02-10-92)
  567.   Think I finally got that pesky bug in the SEND routine when sending ANSI
  568.  screens fixed! Tested it both local and remote here and it seems to work
  569.  fine. Give it a good workout and let me know if it screws up.
  570.   One quirk I found when using The Draw was when I saved the screen with
  571.  ALT-S it didn't transmit quite right. But when the same screen was saved
  572.  using ALT-B, the screen transmitted perfectly. Go figure! 
  573.  
  574. (02-09-92)
  575.   Had some reports of the Backspace locking systems in local mode in the
  576.  QuickBasic 4.5 version. Did some checking in the routine and the only thing
  577.  I could find that could possibly be the culprit was an IF NOT LocalUsr%
  578.  statement. Since I have had some problems with NOT in the past, I changed
  579.  that statement to IF LocalUsr% = 0. Although I have not had any reports of
  580.  the BASCOM version of DoorFrame locking systems, I made the change just to
  581.  be sure.
  582.   BTW, new BBS number and address with this version.
  583.  
  584. Version 1.0
  585. -----------
  586. (10-25-91)
  587.   Changed the second parameter on the IN.PUT routine from an integer to a
  588.  single precision number. This allows you to specify a waiting time of less
  589.  than 1 second. The minimum wait is now 1/18th of a second (.005 works
  590.  pretty well).
  591.  
  592. (10-21-91)
  593.   Although DoorFrame has an extensive history in the QuickBasic 4.x
  594.  environment, this is the initial release for BASCOM 7.x. The two
  595.  libraries are identical expect for the following routines. 
  596.  
  597.                         FindFirstF        GetDrv
  598.                         FindNextF         GetExecPath
  599.                         GetNameF          GetSub
  600.                         Exists%           GetSub1
  601.                         Exist2%           RInstr
  602.                         SubExist
  603.  
  604.  Most of those routines are available in BASCOM and have become redundant.
  605.  
  606.   The HISTORY file for the Quickbasic 4.x version is included below since those
  607.  changes/fixes/enhancements will usually apply to the BASCOM version. Also,
  608.  there may be some things in here that I neglected to add to DFRAME.DOC.
  609.  
  610.  
  611.  
  612.                           HISTORY FILE FOR DOORFRAME
  613.                           ==========================
  614.  
  615. Version 2.4
  616. -----------
  617. (10-05-91)
  618.   Fixed an oversight in writing the Wildcat! 3.x USERINFO.DAT. Line 16
  619.  (DoorLogoff$) will now show "Y" if the caller logged off from the Door.
  620.  
  621. (09-08-91)
  622.   You may now use the ARROW keys. DoorFrame now has an alternate set of keys
  623.  for the Level and Time adjustments. To switch these keys from the ARROW keys
  624.  to the alternate, use SysopKeys% = 1 AFTER you call INITIALIZE. When you
  625.  have SysopKeys% set to 1, PgUp = add time, PgDn = subtract time, INSert =
  626.  add level, and DELete = subtract level. SysopKeys% defaults to 0 so doors
  627.  compiled with previous versions of DoorFrame will work as before.
  628.   When SysopKeys% = 1 pressing one of the arrow keys will return the
  629.  following in RESPONSE$:
  630.     Up Arrow    - RESPONSE$ = "UP"
  631.     Dn Arrow    - RESPONSE$ = "DOWN"
  632.     Left Arrow  - RESPONSE$ = "LEFT"
  633.     Right Arrow - RESPONSE$ = "RIGHT"
  634.  
  635. (09-06-91)
  636.   Would you believe I left out the code for low-intensity white in the
  637.  DIS.PLAY routine! It has been added. (Thanks to Jerry Claxton for finding
  638.  that one!)
  639.   Added the ability to use low intensity colors when using the symbols in
  640.  the DIS.PLAY routine. To make a color low intensity just put a * in front
  641.  of the first symbol. Ex: *}text} displays 'text' in low intensity white.
  642.  
  643. (08-30-91)
  644.   Changed the EXIT.DOOR "G" routine to allow logoffs on all systems, not just
  645.  PCBoard.
  646.   Changed the WildCat! 3.0 routines so that it DOES NOT automatically write
  647.  the USERINFO.DAT file. If you wish to write this file, set User.Info = 1
  648.  before calling EXIT.DOOR.
  649.  
  650. Version 2.3 
  651. -----------
  652. (06-20-91)
  653.   Added support for WildCat! v3.0. This version of WildCat! no longer uses the
  654.  CALLINFO.BBS file. It now uses the 31-line version of DOOR.SYS and creates an
  655.  additional file called USERINFO.DAT. 
  656.  
  657. (7-07-91)
  658.   They finally woke up at Mustang! Software and are now using the standard
  659.  52-line DOOR.SYS like everyone else. This release adjusts for that. Just put
  660.  the path to USERINFO.DAT on line 1 of the .CFG file (instead of DOOR.SYS).
  661.  Make sure that DOOR.SYS is in the same directory as USERINFO.DAT!
  662.  
  663. Version 2.2
  664. -----------
  665. (03-31-91)
  666.   Added support for non-standard IRQ numbers (other than IRQ3/IRQ4). See the
  667.  docs for info on how to implement this.
  668.  
  669. Version 2.1 (03-23-91)
  670. ----------------------
  671.   Modified the LINES routine. Now if you draw intersecting vertical and
  672.  horizontal lines, the appropriate character will be inserted where the
  673.  lines cross. For example, at the intersection of two double lines the
  674.  character Œ would be printed.
  675.   Tweaked the MORE routine a little. It was doing a CR/LF after the prompt
  676.  so it wasn't getting erased because it was on the line above!
  677.   Also put in logic in the MORE and ENTER routines to restore the cursor to
  678.  it's position before the call.
  679.   Fixed a problem in DORINFOx.DEF where the Sysop names where being taken
  680.  from DORINFO instead of the configuration file. Also allowed for the fact
  681.  that the RBBS DORINFO has 13 lines instead of 12.
  682.   Still didn't have the DORINFOx.DEF quite right for RBBS. Hopefully it will
  683.  work as it should now (helps when you use the correct LINE INPUT statement).
  684.   One more time on DORINFO to fix the BBSSYS$. Also fixed a problem in
  685.  picking up the correct node number.
  686.  
  687. Version 2.0 (02-02-91)
  688. ----------------------
  689.   Fixed a problem with the backspace when the cursor was in columns 79 or
  690.  80 (it wouldn't).
  691.   Enlarged the PRINT USING in the High Score Bulletin. It will now handle
  692.  scores up to 9,999,999,999.
  693.   Made DoorFrames internal error trapping available for those of you who
  694.  wish to utilize it instead of writing your own. All Basic errors are
  695.  trapped and will be written to DFRAME.ERR upon exiting the door.
  696.   Added support for WWIV's CHAIN.TXT file. DoorFrame both reads and writes
  697.  this file. It is untested as of this writing so watch it!
  698.   Added 2 more parameters to the IN.PUT routine. These are INTEGERS and
  699.  indicate the foreground and background colors for the input.
  700.   Updated the CALLINFO.BBS routine to read the newer 36 line format. It
  701.  will still handle the old 30 line format ok.
  702.   Added a parameter to the SHOW.BLT routine. This is a STRING and is
  703.  either "Y" or "N". The "Y" tells the routine to display the "Do you want
  704.  to see the Bulletin" prompt while "N" will bypass the prompt. If you have
  705.  an option on your door menu to view the bulletin, you would use "N" (why
  706.  ask them again!).
  707.  
  708. Version 1.9 (12-31-90)
  709. ----------------------
  710.   Fixed a bug when using the `, @, {, ^ etc. symbols. If one of these
  711.  symbols was entered at an IN.PUT prompt, the program would go bananas.
  712.   I had inadvertantly left out the ENTER prompt at the end of the SEND
  713.  routine so when someone brought it to my attention I belated added it.
  714.  Now I find that is the way some of you want it! So in order to satisfy
  715.  both camps, I have added a parameter to SEND. The syntax is now:
  716.    SEND (MSG$, YN%)   where YN% is an INTEGER. 0 = don't send the ENTER
  717.  prompt at the end, 1 = yes, use it. 
  718.   Added support for Spitfire's SFDOORS.DAT. DoorFrame both reads and writes
  719.  to this file.
  720.   Added the ability to log off from within the Door. However, this option is
  721.  for PCBoard systems only!
  722.   Added MAKE.BLT.CURRENT routine which posts current scores instead of the
  723.  highest scores attained.
  724.   Fixed a bug in the MAKE.BLT routines. It didn't take kindly to an extension
  725.  being included in the Bulletin filename!
  726.  
  727.                          AND THAT'S IT FOR THIS YEAR!!
  728.  
  729. Version 1.8 (12-16-90)
  730. ----------------------
  731.   Added a few more subroutines for programmer convenience. These routines
  732.  will add some capabilities not found in QuickBasic. Routines added are:
  733.    DelFile, DrvSpace, GetDrv, GetExecPath, GetKbd, GetSub, NameCase,
  734.    RInstr, SetError, SetKbd and SubExist.
  735.   Fixed a problem with the ALLOWEDBYTES# variable (helps if you add it to
  736.  the DFRAME.INC file!).
  737.  
  738. Version 1.7 (12-13-90)
  739. ----------------------
  740.   Added support for PCBoard 14.5's USERS.SYS file! Since the bug reports
  741.  had started slacking off, thought I would introduce a few more 8-).
  742.   Added option for no border (spaces) in the BOX.IT routine.
  743.   Forgot to add an ENTER prompt after the last page in the SEND routine. 
  744.  Fixed now.
  745.   Had some reports of Security Levels higher than 32,767 so the LEVEL
  746.  variable has been changed from an INTEGER (%) to a LONG (&).
  747.   Took the Time Left warnings out. They only messed up the screen! So if 
  748.  you want to warn the caller when time gets low, you should check the
  749.  TIMELEFT% variable and display a message accordingly. 
  750.  
  751. Version 1.6 (12-11-90)
  752. ----------------------
  753.   Fixed a problem in the error handling routines. It will hopefully handle
  754.  errors better now and exit gracefully.
  755.   Fixed the 'keyboard timeout' problem when coming out of Chat mode.
  756.   Fixed another Chat mode problem where the lines on the remote screen
  757.  would overwrite when it reached line 23.
  758.   Optimized the library a bit. Cut about 13K off the size of the .LIB.
  759.   Added a check for DOS version. If the DOS version is less than 3.0 it
  760.  will display an error message and exit (DOS 3.0+ is required because the
  761.  files are opened in SHARED mode).
  762.  
  763. Version 1.5 (11-30-90)
  764. ----------------------
  765.   Finally got the midnight time problem fixed where the caller would get a
  766.  time expired message if he had logged on the BBS before midnight and 
  767.  entered the door after midnight.
  768.   Fixed an error when using DORINFOx.DEF. It worked fine as long as
  769.  DORINFOx.DEF was the only thing there but went screwy if you threw a path
  770.  at it.
  771.   When I added the options for color in the middle of a line of text, I
  772.  inadvertantly disabled the full-line blink. Now fixed.
  773.  
  774. Version 1.4 (11-25-90)
  775. ----------------------
  776.   Added some enhancements to the DIS.PLAY routine. By using special symbols,
  777.  selected text can be displayed in different colors (like BLUE, YELLOW, BLUE)
  778.  without having to use 3 DIS.PLAY statements. See the DOCS and DISPLAY.BAS
  779.  for a complete explanation.
  780.   Added the MODE% variable. Previously if you used DETECT.ANSI, the caller
  781.  would be switched to COLOR MODE automatically. With the MODE% variable, the
  782.  color will be on or off depending on the caller's BBS setting.
  783.   Modified the IN.PUT routine somewhat. It now requires 2 parameters to be
  784.  passed. The first parameter is the desired length of the input and the 
  785.  second is the length of time to wait for that input.
  786.  
  787. Version 1.3 (11-20-90)
  788. ----------------------
  789.   Added a time limit option to the IN.PUT routine. See EXINPUT.BAS for
  790.  and example on using it.
  791.   Fixed an 'oversight' in the OUT.PUT routine. Completely left out updating
  792.  the column position!
  793.   Made a correction in the centering routine. Now when you use centering
  794.  with a colored background, you don't get the colored line all the way
  795.  across the screen! Also, if you do an IN.PUT after a center it will be
  796.  properly positioned after the prompt instead of on the right edge.
  797.  
  798. Version 1.2 (11-17-90)
  799. ----------------------
  800.   Made the Keyboard Timeout configurable by the programmer. Before calling
  801.  INITIALIZE, populate TIMEOUT% with the number of seconds you want for
  802.  input. If you do not specify a TIMEOUT%, it will default to 5 minutes.
  803.  The minimum is 60 secs so anything less than that will be the default.
  804.   Added support for DORINFOx.DEF which now gives us QBBS, RBBS, and
  805.  Remote Access! (Note: This needs to be tested more. Any volunteers?)
  806.  
  807. Version 1.1 (11-12-90)
  808. ----------------------
  809.   Fixed a problem with the cursor positioning routines when the local display
  810.  was toggled off (it didn't work!).
  811.   Changed the BOX subroutine to BOX.IT to avoid a naming conflict with other
  812.  add-on packages for QB 4.5. (Crescent Software's for one).
  813.   Added support for CALLINFO.BBS so your doors will now run on Wildcat! 
  814.  systems without a converter!
  815.  
  816. Version 1.0 (11-1-90)
  817. ---------------------
  818. Initialize release.
  819.  
  820.  
  821.  
  822.